package com.leoman.service;

import com.leoman.entity.Paper;
import com.leoman.exception.MoneyShortException;
import com.leoman.exception.NoDataException;
import com.leoman.exception.ParamErrorException;
import com.leoman.service.common.ICommonService;
import org.springframework.data.domain.Page;

/**
 * PaperService
 * Created by 涂奕恒 on 2016/11/23 0023 下午 3:54.
 */
public interface PaperService extends ICommonService<Paper> {

    // 纸条列表（分页）
    Page<Paper> iPageForApp(Integer userId, Integer isMe, Integer pageNum, Integer pageSize);

    // 我的收藏纸条列表（分页）
    Page<Paper> iPageForAppCollect(Integer userId, Integer pageNum, Integer pageSize);

    // 写纸条
    Integer addPaperInfo(Boolean isAdmin, Integer userId, Integer tempId, Integer paperId, Integer type, String content, Integer isDraft) throws ParamErrorException;

    // 获取该用户的纸条草稿
    Paper iFindDraftByUserId(Integer userId) throws ParamErrorException, NoDataException;

    // 纸条列表（分页）
    Page<Paper> pageByParams(String userName, String startTime, String endTime, Integer type, String num, Integer pageNum, Integer pageSize);

    // 置顶
    Integer toTop(Integer paperId);

    // 批量删除一言
    Integer batchDelete(String ids);

    // 后台添加一言
    Integer savePaper(String content, Integer typeId, Integer paperId);

    // 修改付款状态
    void changeMoneyStatus(Integer id);

    // 余额修改付款状态
    void changeMoneyStatusByMoney(Integer id, Double money) throws ParamErrorException, MoneyShortException;
}